import random

# 初始化电台信息
radio_station = {
    "人气": 50,
    "收益": 1000,
    "播放列表": []
}

# 音乐类型及相关信息
music_types = {
    "流行音乐": {
        "基础人气提升": 5,
        "播放成本": 100,
        "广告收益": 200
    },
    "摇滚音乐": {
        "基础人气提升": 8,
        "播放成本": 150,
        "广告收益": 300
    },
    "古典音乐": {
        "基础人气提升": 3,
        "播放成本": 80,
        "广告收益": 150
    }
}


# 显示电台状态
def show_radio_status():
    print("电台当前状态：")
    print(f"人气: {radio_station['人气']}")
    print(f"收益: {radio_station['收益']} 元")
    print("当前播放列表：")
    for music in radio_station["播放列表"]:
        print(f" - {music}")


# 选择播放音乐
def choose_music():
    print("可播放的音乐类型有：")
    for music_type in music_types:
        print(music_type)
    choice = input("请选择要播放的音乐类型（输入 '退出' 结束选择）：")
    if choice == "退出":
        return
    if choice not in music_types:
        print("没有这种音乐类型，无法播放。")
        return
    cost = music_types[choice]["播放成本"]
    if radio_station["收益"] < cost:
        print("收益不足，无法播放该音乐。")
        return
    radio_station["收益"] -= cost
    radio_station["播放列表"].append(choice)
    # 人气提升受随机因素和基础人气提升值影响
    popularity_boost = music_types[choice]["基础人气提升"] + random.randint(-2, 2)
    radio_station["人气"] += popularity_boost
    ad_income = music_types[choice]["广告收益"]
    radio_station["收益"] += ad_income
    print(f"成功播放 {choice} 音乐，花费 {cost} 元，人气提升 {popularity_boost} 点，获得广告收益 {ad_income} 元。")


# 与听众互动
def interact_with_listeners():
    # 互动效果受人气影响
    interaction_effect = radio_station["人气"] // 10 + random.randint(1, 5)
    radio_station["人气"] += interaction_effect
    print(f"与听众互动成功，人气提升 {interaction_effect} 点。")


# 主游戏循环
while True:
    show_radio_status()
    print("\n请选择操作：")
    print("1. 选择播放音乐")
    print("2. 与听众互动")
    print("3. 结束游戏")
    choice = input("请输入选项编号：")
    if choice == "1":
        choose_music()
    elif choice == "2":
        interact_with_listeners()
    elif choice == "3":
        print("游戏结束，感谢你的参与！")
        break
    else:
        print("无效的选项，请重新输入。")